const path = require('path')
module.exports = {
  mode:'development',
  entry: './src/index.js',
  output:{
    filename:'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  /** 
   * resolveLoader: 只解析loader
   * resolve: 解析第三方模块
   */
  resolveLoader:{
    /** 设置别名 */
    // alias: {
    //   loader1: path.resolve(__dirname, 'loaders/loader1.js')
    // },
    /** 设置loader查找路径 */
    modules: [
      path.resolve(__dirname, 'node_modules'),
      path.resolve(__dirname, 'loaders'),
    ]
  },
  // watch: true,
  devtool: 'source-map',
  module:{
    rules:[
      {
        test: /\.(css|less)$/,
        use: ['style-loader', 'css-loader', 'less-loader']
      },
      // {
      //   test: /\.(png|jpeg|jpg)$/,
      //   use: {
      //     loader: 'file-loader',
      //     options: {
      //       outputPath: 'images/'
      //     }
      //   }
      // },
      {
        test: /\.(png|jpeg|jpg)$/,
        use: {
          loader: 'url-loader',
          options: {
            outputPath: 'images/',
            limit: 10 * 1024
          }
        }
      },
      {
        test: /\.js$/,
        use:[{
          loader: 'banner-loader',
          options: {
            text: 'ldx制作',
            filename: path.resolve(__dirname, 'banner.text')
          }
        }]
      },
      {
        test: /\.js$/,
        use: [
          {
            loader: 'babel-loader',
            options: {
              presets: ['@babel/preset-env']
            }
          }
        ]
      },
      // {
      //   test: /\.js$/,
      //   use: 'loader1',
      //   enforce: 'pre',
      // },
      // {
      //   test: /\.js$/,
      //   use: 'loader2',
      // },
      // {
      //   test: /\.js$/,
      //   use: 'loader3',
      //   enforce: 'post',
      // }
    ]
  }

}